C           Ðàçìåùåíî íà http://tms.ystu.ru

character *20 name

            Call Grinit

            Call MMS

            Call SetMod(1,3)

            Call SetBgr(-1)

c           îðãàíèçàöèÿ äèàëîãà äëÿ ââîäà ïàðàìåòðîâ

c           ñîçäàíèå çàïðîñà

            write (*,1)

c           ôîðìàò çàïðîñà         

1           format (/////1x,'Ïîæàëóéñòà ââåäèòå êîîðäèíàòû òî÷êè:',/1x,'x='\)

            read (*,2)x

2           format (f4.0)

            write (*,3)

3           format (/1x,'',/1x,'y='\)

            read (*,4)y

4           format (f4.0)

c           çàïèñü èíôîðìàöèè â ôàéë

            write (*,5)

5           format (//1x,'Ïîæàëóéñòà ââåäèòå èìÿ ôàéëà äëÿ çàïèñè:'\)

            read (*,'(A20)') name

            open (1,file=name,status='unknown')

            write (1,6)x,y

6           format(1x,'x=',f4.0,5x,'y=',f4.0)

            close(1)         

c           îòêðûòèå ñòðàíèöû

            Call Page(250.,250.,'Postnov_1',9,1)

c           èìÿ ïîëüçîâàòåëÿ

c                 öâåò íàäïèñè

                  Call SetPen (1)

c           íàêëîí øðèôòà

                  Call italic (1)

            Call symbol (120.,230.,10.,'Postnov_D.V._MT-55',18,0.)

c           îñè ñèñòåìû êîîðäèíàò

c                 öâåò îñåé ñèñòåìû êîîðäèíàò

                  Call SetPen(2)

            Call Narrow (x,y,x+80.,y,5.,2)

            Call symbol (x+76.,y+2.,7.,'X',1,0.)

            Call Narrow (x,y,x,y+80.,5.,2)

            Call symbol (x-6.,y+75.,7.,'Y',1,0.)

c           îñåâûå ëèíèè êðèâîëèíåéíîãî êîíòóðà

c                 öâåò îñåâûõ ëèíèé

                  Call SetPen(7)

c           ãîðèçîíòàëüíàÿ îñåâàÿ ëèíèÿ

            Call MovE (x-5.,y+30.,0)

            Call MovB (10.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (1.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (10.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (1.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (10.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (1.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (10.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (1.,0.,1)

            Call MovB (2.,0.,0)

            Call MovB (20.,0.,1)

c           âåðòèêàëüíàÿ îñåâàÿ ëèíèÿ

            Call MovE (x+50.,y+5.,0)

            Call MovB (0.,10.,1)

            Call MovB (0.,2.,0)

            Call MovB (0.,1.,1)

            Call MovB (0.,2.,0)

            Call MovB (0.,10.,1)

            Call MovB (0.,2.,0)

            Call MovB (0.,1.,1)

            Call MovB (0.,2.,0)

            Call MovB (0.,10.,1)

            Call MovB (0.,2.,0)

            Call MovB (0.,1.,1)

            Call MovB (0.,2.,0)

            Call MovB (0.,15.,1)

c           âû÷åð÷èâàíèå êðèâîëèíåéíîãî êîíòóðà

c                 öâåò ëèíèé íîíòóðà

                  Call SetPen(6)

            R=20.

            Call MovE (x,y+30.,0)

            Call MovB (50.,30.,1)

            Call MovB (20.,-30.,1)

            Call MovB (-70.,0.,0)

            Call MovB (50.,-20.,1)

            Call arcib (20.,x+50.+R,y+30.,0)

            Call Reset

            Call beglev

c           íàíåñåíèå ðàçìåðîâ

c                 öâåò ëèíèé ðàçìåðîâ

                  Call SetPen(4)

c           íèæíèé ðàçìåð 30 ìì.

            r=10.

            s=30.

            Call Rotate(0.,0.,-90.)

            Call Transl(x,y+30.)

            Call str(r,s)

            Call symbol(s/2+4.,-r,5,'30',2,180.)

            Call Reset

c           âåðõíèé ðàçìåð 30 ìì.

            r=10.

            s=30.

            Call Rotate(0.,0.,90.)

            Call Transl(x+70.,y+30.)

            Call str(r,s)

            Call symbol(s/2-4.,-r,5,'30',2,0.)

            Call Reset

            Call MovE(x+50.,y+60.,0)

            Call MovB(20.,0.,1.)

c           ðàäèóñ 20 ìì.

            R=20.

            Call Rotate(0.,0.,-45.)

            Call Transl(x+50.,y+30.)

            Call rad(R)

            Call symbol(R/2-5.,0.,5,'R20',3,0.)

            Call Reset

c           ðàçìåð 50 ìì.

            r=10.

            s=50.

            Call Transl(x,y)

            Call str(r,s)

            Call symbol(s/2-4.,-r,5,'50',2,0.)

            Call Reset

            Call MovE(x+50.,y,0)

            Call MovB(0.,10.,1.)

            Call endlev

            Call EndPg('Postnov_1')

            End

c           ïîäïðîãðàììà ëèíåéíûõ ðàçìåðîâ          

            Subroutine str(r,s)

            x=0.

            y=0.

            y1=y-r

            y2=y1-r/3

            Call MovE(x,y,0)

            Call MovE(x,y2,1)

            Call MovE(x,y1,0)

            Call MovA(4.,10.,1)

            Call MovE(x,y1,0)

            Call MovA(4.,350.,1)

            Call MovE(x,y1,0)

            Call MovE(x+s,y1,1)

            Call MovA(4.,170.,1)

            Call MovE(x+s,y1,0)

            Call MovA(4.,190.,1)

            Call MovE(x+s,y2,0)

            Call MovE(x+s,y,1)

            Return

            End

c           ïîäïðîãðàììà ðàäèóñà        

            Subroutine rad(R)

            Call MovE(x,y,0)

            Call MovE(R,y,1)

            Call MovA(4.,170.,1)

            Call MovE(R,y,0)

            Call MovA(4,190.,1)

            Return

            End